[DllImport("user32.dll")]
public static extern uint GetRawInputDeviceInfo(int deviceHandle, uint command, ref DeviceInfo data, ref uint dataSize);
Declare Function GetRawInputDeviceInfo Lib "user32.dll" (TODO) As TODO
[StructLayout(LayoutKind.Explicit)]
public struct DeviceInfo
{
[FieldOffset(0)]
public int Size;
[FieldOffset(4)]
public int Type;
[FieldOffset(8)]
public DeviceInfoMouse MouseInfo;
[FieldOffset(8)]
public DeviceInfoKeyboard KeyboardInfo;
[FieldOffset(8)]
public DeviceInfoHID HIDInfo;
}
public struct DeviceInfoMouse
{
public uint ID;
public uint NumberOfButtons;
public uint SampleRate;
}
public struct DeviceInfoKeyboard
{
public uint Type;
public uint SubType;
public uint KeyboardMode;
public uint NumberOfFunctionKeys;
public uint NumberOfIndicators;
public uint NumberOfKeysTotal;
}
public struct DeviceInfoHID
{
public uint VendorID;
public uint ProductID;
public uint VersionNumber;
public ushort UsagePage;
public ushort Usage;
}
Do you know one? Please contribute it!
None.
Please add some!
User32.DeviceInfo di = new User32.DeviceInfo();
di.Size = Marshal.SizeOf(typeof(User32.DeviceInfo));
User32.GetRawInputDeviceInfo(device.hDevice, User32.RIDI_DEVICEINFO, ref di, ref size);